From: Florian Müllner Date: Mon, 9 Feb 2015 08:25:00 +0000 (+0100) Subject: layout: Add back affectsInputRegion X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1717 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=aedc2428bed3094d5165e0475706720e071c2a17;p=gnome-shell.git layout: Add back affectsInputRegion It was removed as actors that should not affect the input region can simply be added to the uiGroup instead. However the property is useful to add non-reactive chrome, but then use trackChrome() to add a child to the input region. This reverts commit e62d22a50ed8aa25de988fb3c389b999e42f2eac. https://bugzilla.gnome.org/show_bug.cgi?id=744850 --- diff --git a/js/ui/layout.js b/js/ui/layout.js index c68168848..8842a7519 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -165,6 +165,7 @@ const Monitor = new Lang.Class({ const defaultParams = { trackFullscreen: false, affectsStruts: false, + affectsInputRegion: true }; const LayoutManager = new Lang.Class({ @@ -736,10 +737,11 @@ const LayoutManager = new Lang.Class({ // @actor: an actor to add to the chrome // @params: (optional) additional params // - // Adds @actor to the chrome, and extends the input region - // to include it. Changes in @actor's size, position, and - // visibility will automatically result in appropriate changes - // to the input region. + // Adds @actor to the chrome, and (unless %affectsInputRegion in + // @params is %false) extends the input region to include it. + // Changes in @actor's size, position, and visibility will + // automatically result in appropriate changes to the input + // region. // // If %affectsStruts in @params is %true (and @actor is along a // screen edge), then @actor's size and position will also affect @@ -941,7 +943,7 @@ const LayoutManager = new Lang.Class({ for (i = 0; i < this._trackedActors.length; i++) { let actorData = this._trackedActors[i]; - if (!wantsInputRegion && !actorData.affectsStruts) + if (!(actorData.affectsInputRegion && wantsInputRegion) && !actorData.affectsStruts) continue; let [x, y] = actorData.actor.get_transformed_position(); @@ -951,7 +953,7 @@ const LayoutManager = new Lang.Class({ w = Math.round(w); h = Math.round(h); - if (wantsInputRegion && actorData.actor.get_paint_visibility()) + if (actorData.affectsInputRegion && wantsInputRegion && actorData.actor.get_paint_visibility()) rects.push(new Meta.Rectangle({ x: x, y: y, width: w, height: h })); if (actorData.affectsStruts) {